[Oracle]字符串和日期数据类型自动转换和转换函数 | 您所在的位置:网站首页 › oracle 字符转时间 › [Oracle]字符串和日期数据类型自动转换和转换函数 |
在Oracle中日期数据类型有DATE和更为精确的TIMESTAMP两种. 一般来说DATE类型的数据格式为’年-月-日’,TIMESTAMP类型的数据格式为’年-月-日 时:分:秒’ 字符串与日期数据互相转换有两种方式: 1. 自动转换 2. 使用转换函数 自动转换先说一个提取时间日期中数据的函数: extract(c1 from d1) 【功能】:日期/时间d1中,参数(c1)的值 【参数】:d1日期型(date)/日期时间型(timestamp),c1为字符型(参数) 【示例】 select extract(hour from timestamp '2001-2-16 2:38:40 ' ) --小时, extract(minute from timestamp '2001-2-16 2:38:40 ' ) --分钟, extract(second from timestamp '2001-2-16 2:38:40 ' ) --秒, extract(DAY from timestamp '2001-2-16 2:38:40 ' ) --日, extract(MONTH from timestamp '2001-2-16 2:38:40 ' ) --月, extract(YEAR from timestamp '2001-2-16 2:38:40 ' ) --年 from dual;以上是将字符串转化为timestamp格式后再提取其中的数据. 当然也可以直接从日期数据中获得数据,如: select extract(year from sysdate) from dual; 结论通过上面这个例子应该已经可以看出字符串自动转化为日期数据的方式: date '年-月-日’timestamp '年-月-日 时:分:秒’ 举例: date '2018-08-08' timestamp '2018-08-08 14:40:20'注意要在字符串前加上date或timestamp以表明类型 更一般的,'日-月份月 -年’的形式也能隐式转为Date类型,虽然很别捏,但是前面不需要加date ,举例: '14-12月-2013'而日期数据自动转为字符串则更为简单,它在任何时候都可以自动转化为字符串. 转换函数 函数的语法为:TO_DATE(X[,c2[,c3]]) 【功能】将字符串X转化为日期型 【参数】c2,c3,字符型 【返回】日期数据类型 【示例】 select to_date('199912','yyyymm') a, to_date('2000.05.20','yyyy.mm.dd') b, to_date('2008-12-31 8:31:30','yyyy-mm-dd hh:mi:ss') c, to_date('2008-12-31 14:31:30','yyyy-mm-dd hh24:mi:ss') from dual;c2字符型用来规定前面字符串X的格式. 注意若想用24小时制则小时的形式为hh24(见d),单单hh是12小时制(见c). 另外日期类型数据转换为字符串则与上述类似,函数为: to_char(date[,c2[,c3]]) |
CopyRight 2018-2019 实验室设备网 版权所有 |